import { IEvent } from '@onereach/flow-sdk/dst/types/event'; import VoiceStep, { IVoiceCall, TODO, VoiceEvent } from './voice'; interface INPUT { asr: TODO; autoPause: boolean; processHangUp: 'user' | 'bot' | 'both' | 'none' | string; recordAfterTransfer: boolean; recordCall: boolean; choices: TODO[]; qualityOfService: 'enabled' | 'enabledWithRaw' | 'disabled'; limitFileTtl: boolean; recordFileTtl: number; limitLinkTtl: boolean; recordLinkTtl: number; loopPrevention_enabled: boolean; loopPrevention_maxLoops: number; } interface OUTPUT { type: string; digit?: string; value?: string; language?: string; interpretation?: TODO[]; callRecording?: TODO; tags?: string[]; out?: string; } interface EVENT extends VoiceEvent { callRecording?: TODO; exitId?: string; digit?: string; digits?: string; phrases?: TODO[]; language?: string; tags?: string[]; out?: string; background?: boolean; zombie?: boolean; ack?: boolean; cause: { callQualityVariables?: Record; qualityOfServiceResult?: Record; }; } export default class GlobalCommand extends VoiceStep, OUTPUT, EVENT> { get isGlobal(): boolean; get useQueue(): boolean; runStep(): Promise; initGrammar(call: IVoiceCall): Promise; worker(): Promise; getQualityOfServiceResult(call: IVoiceCall): Record | { qosRaw?: Record | undefined; qos: { mosValue: number; mosQualification: string; jitterValue: number; jitterQualification: string; pktLostValue: number; pktLostQualification: string; callQualification: string | undefined; } | undefined; } | undefined; hangup(call: IVoiceCall): Promise; exitThread(event: IEvent, type: string, stepExit: string): Promise; buildGrammar(call: IVoiceCall, choices: TODO[]): Promise; acceptAck(eventParams: any): void; } export {};